﻿package logica.objetos;
import enums.TipoObjeto;

//
public class Barco extends Objeto
{

    //
    private int resistencia ;
    //
    private int danio ;
    //
    private int alcanceTiro ;
    //
    private int visibilidad ;
    //
    private int velocidad ;
    //
    private int angulo ;
    //
    private boolean esImpactado ;

	/**
	 * @param posicionx
	 * @param posiciony
	 * @param imagen
	 * @param tipo
	 * @param resistencia
	 * @param danio
	 * @param alcanceTiro
	 * @param visibilidad
	 * @param velocidad
	 * @param angulo
	 * @param esImpactado
	 */
    
    
    
    public Barco() 
    {
		super();
		//Creo barco con valores fijos 
		resistencia = 10;
		danio = 0;
		alcanceTiro = 3;
		visibilidad = 3;
		velocidad = 10;
		angulo = 180;
		esImpactado = false;
	}
	public Barco(int idObjeto, int posicionx, int posiciony, int imagen, TipoObjeto tipo,
			int resistencia, int daño, int alcanceTiro, int visibilidad,
			int velocidad, int angulo, boolean esImpactado) {
		super(idObjeto, posicionx, posiciony, imagen, tipo);
		this.resistencia = resistencia;
		this.danio = daño;
		this.alcanceTiro = alcanceTiro;
		this.visibilidad = visibilidad;
		this.velocidad = velocidad;
		this.angulo = angulo;
		this.esImpactado = esImpactado;
	}

	/**
	 * @return the resistencia
	 */
	public int getResistencia() {
		return resistencia;
	}

	/**
	 * @param resistencia the resistencia to set
	 */
	public void setResistencia(int resistencia) {
		this.resistencia = resistencia;
	}

	/**
	 * @return the daño
	 */
	public int getDanio() {
		return danio;
	}

	/**
	 * @param daño the daño to set
	 */
	public void setDanio(int daño) {
		this.danio = daño;
	}

	/**
	 * @return the alcanceTiro
	 */
	public int getAlcanceTiro() {
		return alcanceTiro;
	}

	/**
	 * @param alcanceTiro the alcanceTiro to set
	 */
	public void setAlcanceTiro(int alcanceTiro) {
		this.alcanceTiro = alcanceTiro;
	}

	/**
	 * @return the visibilidad
	 */
	public int getVisibilidad() {
		return visibilidad;
	}

	/**
	 * @param visibilidad the visibilidad to set
	 */
	public void setVisibilidad(int visibilidad) {
		this.visibilidad = visibilidad;
	}

	/**
	 * @return the velocidad
	 */
	public int getVelocidad() {
		return velocidad;
	}

	/**
	 * @param velocidad the velocidad to set
	 */
	public void setVelocidad(int velocidad) {
		this.velocidad = velocidad;
	}

	/**
	 * @return the angulo
	 */
	public int getAngulo() {
		return angulo;
	}

	/**
	 * @param angulo the angulo to set
	 */
	public void setAngulo(int angulo) {
		this.angulo = angulo;
	}

	/**
	 * @return the esImpactado
	 */
	public boolean isEsImpactado() {
		return esImpactado;
	}

	/**
	 * @param esImpactado the esImpactado to set
	 */
	public void setEsImpactado(boolean esImpactado) {
		this.esImpactado = esImpactado;
	}
	
	public int calcularEstado(){
		int resu = resistencia - danio;	   
		return resu;
	}
	
	public void setDañoTotal(){
		this.danio = this.resistencia;
	}
}